#include<iostream>

void Swap1(int* a, int* b)
{
	int tmp = *a;
	*a = *b;
	*b = tmp;
}

void Swap2(int& a1, int& b1)
{
	int tmp = a1;
	a1 = b1;
	b1 = tmp;
}
int Add0(int a, int b)
{
	int c = a + b;
	return c;
}
int& Add1(int a, int b)
{
	int c = a + b;
	return c;
}
int& Add2(int a, int b)
{
	static int c = a + b;
	c = a + b;
	return c;
}
inline int Add3(int a, int b)
{
	int c = a + b;
	return c;
}
const int N = 10;


void f(int c)
{
	std::cout << "0 ";
}
void f(int* c)
{
	std::cout << "NULL";
}
int main()
{
	f(NULL);
	f(nullptr);
	/*int a = 10;
	int b = 20;*/
	/*Swap1(&a, &b);
	Swap2(a, b);*/
	/*int& c = Add1(a, b);

	printf("abc\n");
	std::cout << c;*/
	/*int arr[] = { 1,5,8,9,3 };
	for (auto e : arr)
	{
		e *= 2;
	}
	for (auto& e : arr)
	{
		e *= 2;
	}
	for (auto e : arr)
	{
		std::cout << e<<" ";
	}
	return 0;*/
	
}